#ifdef NOTHING
#ifndef EVENTS_H
#include "player_info.h"
#include <string>
using namespace std;

typedef bool (*ParamCompare)(string mine, string other);

class EventHandler
{
private:
	//map< EVENT_NAME, map<EVENT_PARAM, CMD_LIST> > // CMD_LIST = vector<CMD_STRING_FORMAT>
	map<string, map<string, vector<string> > > event_listing;
public:
	// for now, just use IniFile - Event.ini: section = event name, key = param, value = cmd (which later will be seperated by semicolons between each command, instead of newlines)
	Save();
	Load();

	EventDefine(string EventName, ParamCompare cmpfunc=EQUAL, bool HasPlayer, bool HasTarget); // whether there is a player involved, or a target involved. (Player will be filled first, then target.

	CallEvent(string EventName, string param, playerindex player=-1, playerindex target=-1);

	//functions for Commands
	/*
	Event("EVENT_NAME", "PARAM"="", OVERWRITECMD="")
	//{ Param=="": ShowAllParam commands under all params for NAME
		Param=="something": ShowCommands for something, under NAME

		OverwriteCmd=="something": Clear all Commands for "param"(cannot be ""), then add new cmd
		}

	EventAdd("NAME", "PARAM", "NEWCMD")
	{ // add new cmd onto PARAM in event NAME.

	EventDel("NAME", "PARAM", index=-1)
	{ //index==-1: delete last cmd in list under PARAM
		// else: delete cmd @ index under PARAM

	EventClear("NAME", "PARAM"="")
	{ // clear command list for PARAM in NAME
		// if PARAM == "", clear commands for All params
	*/




	/*
	OnSpawn(player, param?:killcount);

	OnKill(playerindex pl_ind, playerindex victim_ind, param?:killcount);
	OnTeamkill(playerindex pl_ind, victim, param:teamkills);

	OnAssist(playerindex pl_ind, param=assists);

	// These i want to replace with a single OnDeath(ind, bool: suicide, playerindex killedby=-1, bool switchedteams, param: DeathCount or (<kindofdeath>count)
	OnDeath(playerindex pl_ind);
	OnSuicide(playerindex pl_ind);
	OnKilledBySomeone(playerindex pl_ind, target);
	OnTeamswitch(playerindex pl_ind, param?: bool team_they_join);

	OnJoin(playerindex pl_ind, param: short adminlevel, param?: bool team);
	OnQuit(CDHASH hash, param?: team); // (or name, or something else maybe?..

	// special comparer, for BeginningOfString
	//OnChat(playerindex pl_ind, param: string chat);
	//OnBlockedChat(playerindex pl_ind, param: string chat);

	OnBotDetect(playerindex pl_ind, param: short number_of_detects);

	// special comparer: modulus of timer and seconds
	OnTimer(param: seconds_between_firing)
	*/

};
void OnBotDetect(playerindex pl_ind);
#define EVENTS_H
#endif
#endif